package com.wzd.shoppingService.model.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * 菜单权限表
 *
 * @author WeiZiDong
 */
@Table(name = "`sys_permission`")
@Data
@ApiModel("菜单权限表")
public class SysPermission implements Serializable {
    @Id
    @Column(name = "`id`")
    @ApiModelProperty(value = "主键id", example = "String")
    private String id;
    @Column(name = "`parent_id`")
    @ApiModelProperty(value = "父id", example = "String")
    private String parentId;
    @Column(name = "`name`")
    @ApiModelProperty(value = "菜单标题", example = "String")
    private String name;
    @Column(name = "`url`")
    @ApiModelProperty(value = "路径", example = "String")
    private String url;
    @Column(name = "`component`")
    @ApiModelProperty(value = "组件", example = "String")
    private String component;
    @Column(name = "`component_name`")
    @ApiModelProperty(value = "组件名字", example = "String")
    private String componentName;
    @Column(name = "`redirect`")
    @ApiModelProperty(value = "一级菜单跳转地址", example = "String")
    private String redirect;
    @Column(name = "`menu_type`")
    @ApiModelProperty(value = "菜单类型(0:一级菜单;1:子菜单:2:按钮权限)", example = "1")
    private Integer menuType;
    @Column(name = "`perms`")
    @ApiModelProperty(value = "菜单权限编码", example = "String")
    private String perms;
    @Column(name = "`perms_type`")
    @ApiModelProperty(value = "权限策略1显示2禁用", example = "0")
    private String permsType;
    @Column(name = "`sort_no`")
    @ApiModelProperty(value = "菜单排序", example = "1.0")
    private Double sortNo;
    @Column(name = "`always_show`")
    @ApiModelProperty(value = "聚合子路由:1是0否", example = "1")
    private Byte alwaysShow;
    @Column(name = "`icon`")
    @ApiModelProperty(value = "菜单图标", example = "String")
    private String icon;
    @Column(name = "`is_route`")
    @ApiModelProperty(value = "是否路由菜单:0:不是1:是（默认值1）", example = "1")
    private Byte isRoute;
    @Column(name = "`is_leaf`")
    @ApiModelProperty(value = "是否叶子节点:1:是0:不是", example = "1")
    private Byte isLeaf;
    @Column(name = "`keep_alive`")
    @ApiModelProperty(value = "是否缓存该页面:1:是0:不是", example = "1")
    private Byte keepAlive;
    @Column(name = "`hidden`")
    @ApiModelProperty(value = "是否隐藏路由:0否,1是", example = "0")
    private Integer hidden;
    @Column(name = "`description`")
    @ApiModelProperty(value = "描述", example = "String")
    private String description;
    @Column(name = "`create_by`")
    @ApiModelProperty(value = "创建人", example = "String")
    private String createBy;
    @Column(name = "`create_time`")
    @ApiModelProperty(value = "创建时间", example = "2019-05-05 17:55:31")
    private Date createTime;
    @Column(name = "`update_by`")
    @ApiModelProperty(value = "更新人", example = "String")
    private String updateBy;
    @Column(name = "`update_time`")
    @ApiModelProperty(value = "更新时间", example = "2019-05-05 17:55:31")
    private Date updateTime;
    @Column(name = "`del_flag`")
    @ApiModelProperty(value = "删除状态0正常1已删除", example = "0")
    private Integer delFlag;
    @Column(name = "`rule_flag`")
    @ApiModelProperty(value = "是否添加数据权限1是0否", example = "0")
    private Integer ruleFlag;
    @Column(name = "`status`")
    @ApiModelProperty(value = "按钮权限状态(0无效1有效)", example = "String")
    private String status;
    @Column(name = "`internal_or_external`")
    @ApiModelProperty(value = "外链菜单打开方式0/内部打开1/外部打开", example = "1")
    private Byte internalOrExternal;

    private static final long serialVersionUID = 1L;
}
